﻿using System;

namespace Kyoh.Lib.Win32API
{
    /// <summary>Windowのスタイルを指定します。</summary>
	[CLSCompliant(false)]
	public enum CreateWindowStyle : uint
	{
		/// <summary>オーバーラップウィンドウを作成します。オーバーラップウィンドウはタイトルと枠を持ちます。</summary>
		Overlapped = 0x00000000,
		/// <summary>オーバーラップウィンドウを作成します。オーバーラップウィンドウはタイトルと枠を持ちます。</summary>
		Tiled = Overlapped,
		/// <summary>ポップアップウィンドウを作成します。このスタイルは、CHILD スタイルと一緒には使えません。</summary>
		Popup = 0x80000000,
		/// <summary>子ウィンドウを作成します。このスタイルは、POPUP スタイルと一緒には使えません。</summary>
		Child = 0x40000000,
		/// <summary>子ウィンドウを作成します。このスタイルは、POPUP スタイルと一緒には使えません。</summary>
		ChildWindow = Child,
		/// <summary>ウィンドウを最小化の状態で作成します。</summary>
		Minimize = 0x20000000,
		/// <summary>ウィンドウを最小化の状態で作成します。</summary>
		Iconic = Minimize,
		/// <summary>可視状態のウィンドウを作成します。</summary>
		Visible = 0x10000000,
		/// <summary>無効 (使用不能) なウィンドウを作成します。無効なウィンドウは、有効にするまで、ユーザーからの入力を受け取りません。</summary>
		Disabled = 0x08000000,
		/// <summary>兄弟関係にある子ウィンドウをクリップします。</summary>
		ClipSiblings = 0x04000000,
		/// <summary>親ウィンドウ内部を描画するときに、子ウィンドウが占める領域を除外します。このスタイルは、親ウィンドウを作成するときに使います。</summary>
		ClipChildren = 0x02000000,
		/// <summary>タイトルバーを持つウィンドウを作成します。（BORDER | DLGFRAME）</summary>
		Caption = 0x00C00000,
		/// <summary>境界線を持つウィンドウを作成します。</summary>
		Border = 0x00800000,
		/// <summary>ダイアログボックスで一般的に使われるスタイルの境界を持つウィンドウを作成します。</summary>
		DialogFrame = 0x00400000,
		/// <summary>垂直スクロールバーを持つウィンドウを作成します。</summary>
		VScroll = 0x00200000,
		/// <summary>水平スクロールバーを持つウィンドウを作成します。</summary>
		HScroll = 0x00100000,
		/// <summary>タイトルバー上にウィンドウメニューボックスを持つウィンドウを作成します。</summary>
		SystemMenu = 0x00080000,
		/// <summary>サイズ変更境界を持つウィンドウを作成します。</summary>
		ThickFrame = 0x00040000,
		/// <summary>サイズ変更境界を持つウィンドウを作成します。</summary>
		SizeBox = ThickFrame,
		/// <summary>コントロールグループの最初のコントロールを指定します。このコントロールから、次に GROUP スタイルのコントロールがくるまでに定義されたコントロールが、コントロールグループになります。</summary>
		Group = 0x00020000,
		/// <summary>ユーザーが［Tab］キーを押すと入力フォーカスを受け取るコントロールを指定します。［Tab］キーを押すと、TABSTOP スタイルを持つ次のコントロールに、入力フォーカスが移動します。</summary>
		TabStop = 0x00010000,
		/// <summary>最小化ボタンを持つウィンドウを作成します。 SYSMENU スタイルも指定する必要があります。拡張スタイルに EX_CONTEXTHELP を指定することはできません。</summary>
		MinimizeBox = 0x00020000,
		/// <summary>最大化ボタンを持つウィンドウを作成します。 SYSMENU スタイルも指定する必要があります。拡張スタイルに EX_CONTEXTHELP を指定することはできません。</summary>
		MaximizeBox = 0x00010000,
		/// <summary>OVERLAPPED | CAPTION | SYSMENU | THICKFRAME | MINIMIZEBOX | MAXIMIZEBOX に等しい。</summary>
		OverlappedWindow = 0x00CF0000,
		/// <summary>POPUP | BORDER | SYSMENU に等しい。</summary>
		PopupWindow = 0x80880000,
	}
}
